A receiving apparatus in data transmission, for example an apparatus for reproducing data from a recording medium such as an optical disk or magnetic disk detects a synchronization patterns that are inserted in an input data stream at regular intervals in input data provided through a transmission line or obtained by reproducing the recording medium to perform so-called “pull-in”, reproduces a clock from the input data, and uses the clock to reproduce data.
A PLL (Phase Locked Loop) circuit is typically used to reproduce the clock. The PLL circuit detects a phase difference between an output (clock) from an “local oscillator” and input data and performs a control through a feedback loop so that the frequency and phase of the output from the local oscillator matches the frequency and phase of the input data to reproduce the clock. The clock is used for the above-mentioned “pull-in”.
A synchronization pattern error often occurs in data read from a recording medium during transmitting the data to the external through a transmission line, or a part of the data often erroneously match a synchronization pattern. As a result, a synchronization detection error occurs in which the synchronization pattern cannot be detected, or an erroneous synchronization occurs in which a pattern occurring in the data is erroneously found as a synchronization pattern.
For such faults, as means of preventing a synchronization detection error, interpolation is known which estimates the position of a synchronization pattern to be detected based on the previous position where the synchronization pattern is detected and inserts a dummy synchronization-detection signal into the estimated position.
Windowing is also known as means of preventing a synchronization detection error which, based on intervals between synchronization patterns, estimates a position in an input data stream where the next synchronization pattern would be inserted and provides a window having a predetermined width to detect a synchronization pattern in an input data stream within the window.
An operation for reproducing data from a recording medium and windowing will be described below with reference to FIG. 4. When the first synchronization pattern 401a is detected in data stream 400 reproduced in a read direction 406 from a recording medium, a reproduction apparatus counts data in the reproduction data stream 400 based on predetermined synchronization pattern insertion intervals 402 to detect the next synchronization pattern 401b. 
If all of the reproduction data 400 is correctly read, the synchronization pattern 401b can be detected by counting the synchronization pattern insertion intervals 402. However, it is difficult in practice to detect the synchronization pattern only by strictly counting the insertion intervals because missing data, an error in synchronization patterns, or an error in the data stream may occur on the transmission line.
Therefore, a window 404 having a predetermined width forward and backward (width 404b forward and width 404a backward) from a position 403 identified based on the insertion intervals 402 in the reproduction data stream 400 is provided and the synchronization pattern 401b is detected within the window 404. Assuming that the width of a synchronization pattern is 2 bytes and the width of the data stream is 91 bytes in the example shown in FIG. 4, the insertion interval will be 93. If the width of a window with respect to this insertion interval is set as one byte, with width 404a being 0.5 bytes and width 404b being 0.5 bytes with a synchronization pattern identification position 403 in between, synchronization pattern 401b can be detected by searching for it in window 404 because synchronization pattern 401b is contained within window 404 even if interval 402a between synchronization pattern 401a and synchronization pattern 401b on a transmission line in practice is 92.5 bytes and synchronization pattern 401b is at a position short of the count of insertion interval 402.
As an approach to provide higher reliability of data processing systems, error correction means that decodes an error correction signal capable of correcting a data error is used in various data reproduction apparatuses. In recent years, the probability of errors in data read from a recording medium has increased because of higher recording densities on recording media and higher rates of data transfer to data processing apparatuses.
Therefore, a number of codes having a high error correction capability are added or iterative decoding in which a plurality of error correction codes are repeatedly decoded is performed in the error correction means. For example, an error correction code is added for CD-ROMs in addition to an error correction code called CIRC for music CDs and iterative decoding in which a plurality of (more than one) correction processes, each of which uses an error correction code, are combined in predetermined order is applied to the doubly added error correction code. The iterative decoding is also applied to a product code in DVD-ROM and DVD-RAM.
When data is read from a recording medium and transferred to a data processing apparatus, it is required that processing such as decoding, error correction, and data transfer is performed without delaying the data read. Therefore, an iterative correction for performing correction certain times in a certain order is used for DVD-ROM, which allows the error correction to end within a predetermined time.
In any of the examples of the prior art described above, in any reproduction process, correction of erroneous synchronization and data error correction are performed according to a particular error correction algorithm in which the width of a window, the number of times error corrections is performed, and the order in which the error corrections are performed are fixed.
However, in these prior-art examples, if pull-in is performed again after a PLL is unlocked because a seek is involved or a defect (flaw or soil) is detected on a recording medium during the reproduction of the recording medium, a clock becomes unstable immediately after the re-pull-in.
Because insertion intervals are counted based on a clock in a windowing operation and therefore are not correctly counted immediately after the PLL pull-in, the position at which a window is set may shift from the position at which it would be set during normal operation. If windowing is performed in such a case, a correct synchronization pattern may not be able to be detected by using the width of a window according to the prior art. If synchronization pattern 401c were to be detected based on the first synchronization pattern 401b detected immediately after a seek operation in the example shown in FIG. 4, insertion interval 402′ would be shorter than a normal interval and window 405 is set at a position short of its normal set position because the clock is unstable.
In this case, because width 405a of window 405 is so small that a part of the synchronization pattern 401 cannot fit into window 405, synchronization pattern 401 cannot be detected by searching within window 405.
Furthermore, especially if there is a defect on the disk, no input data is provided on the transmission line during the presence of the defect even though the PLL is not unlocked, that is, no pull-in is performed, therefore the feedback operation of the PLL suspends and, while the feedback operation is under suspension, the a fixed clock is kept based on the previous data provided immediately before the data input is stopped by the defect whereby insertion intervals can be counted.
Consequently, a window pulse set position would shift from a position where it would otherwise be set, as in the case of a pull-in of the PLL. If the shift causes a data stream of a synchronization pattern to be excluded from the window, the synchronization pattern cannot be detected.
A clock may become unstable on the boundary between a land and a groove during the reproduction of data from a DVD-ROM or DVD-RAM and, as a result, it may become difficult to read data from it, or the optimum width of a window for a land may differ from that for a groove. If a window width is set to suit one of the land and groove, a proper synchronization pattern may be unable to be detected during the reproduction of data from the other.
To avoid these problems, the width (such as 404a, 405a, 404b, and 405b in FIG. 4) of the window may be made sufficiently wide to allow for the instability of the clock during a re-pull-in of PLL and a decrease in the accuracy of an insertion interval count caused by a fixed clock due to the suspension of the PLL caused by the occurrence of a defect. However, too wide a window may increase the likelihood that an erroneous detection of a synchronization pattern will occur during a normal operation.
There is a problem even in a case where a synchronization pattern can be correctly detected under the above-described circumstances, that the reliability of read data may often be reduced and it is likely that the data cannot be corrected by a certain error correction algorithm based on a given repetitive process in which the number of times and order of error corrections are fixed and therefore the data recorded on an optical disk cannot be reproduced in its original, correct format.
To avoid this problem, an error correction algorithm having a higher correction capability or an algorithm in which the number of repetitions is increased may be used. However, even though the capability of error correction may increase, there is a problem that the algorithm will also increase processing time in normal operation and, consequently, delay a data read or increase power consumption.